package counter;

/**
 * Created by dllo on 18/4/12.
 */
public class OpPower extends Operator {
    @Override
    public Integer compute(int num1, int num2) {// Math.pow(num1,num2) 求多少次幂
        if (num2 == 0) {
            // 任何数的0次幂都为1
            return 1;
        } else {
            return num1 * compute(num1, num2 - 1); // 递归(在一个方法中调用自己)
            //递归好处:
            //不需要额外的编程思想,直接翻译成代码
            // 所有的递归,都可以用迭代(循环)来实现
            // 并且 普通递归效率低下
        }
//        int num = num1;
//        for (int i = 1; i < num2; i++) {
//            num *= num1;
//        }
//        return num;
    }
}

